export const smallFileDownload = `function download(url: string, filename?: string) {
                fetch(url)
                    .then(res => res.blob())
                    .then(blob => {
                    const a = document.createElement('a')
                    document.body.appendChild(a)
                    a.style.display = 'none'
                    const url = window.URL.createObjectURL(blob)
                    a.href = url
                    a.download = filename
                    a.click()
                    document.body.removeChild(a)
                    window.URL.revokeObjectURL(url)
                    })
            }`;

export const bigFileDownload = `function downloadFile(url: string, filename?: string) {
                    // 创建一个<a>元素
                    const a = document.createElement('a')

                    // 设置href属性
                    a.href = url

                    // 设置download属性
                    if (filename) {
                        a.download = filename
                    }

                    // 将<a>元素添加到document.body中
                    document.body.appendChild(a)

                    // 触发点击事件，实现下载
                    a.click()

                    // 下载完成后，从页面中移除<a>元素
                    document.body.removeChild(a)
                    }
            }`;
export const aliOssFileDownload = `import OSS from 'ali-oss'
import api from '@/services/aliOss'
function downloadFile(url: string, filename?: string) {
        // 创建一个<a>元素
        const a = document.createElement('a')

        // 设置href属性
        a.href = url

        // 设置download属性
        if (filename) {
            a.download = filename
        }

        // 将<a>元素添加到document.body中
        document.body.appendChild(a)

        // 触发点击事件，实现下载
        a.click()

        // 下载完成后，从页面中移除<a>元素
        document.body.removeChild(a)
}
const aliOssDownload = async (fileUrl: string, filename: string) => {
    const { bucket, region } = env.aliOss
    // 获取STS临时授权凭证
    const { accessKey, accessKeySecret, securityToken } = await api.getStsToken()
    const client = new OSS({
        region: 'oss-cn-shanghai', // 一般通过环境配置文件获得，这里写死
        accessKeyId: accessKey,
        accessKeySecret: accessKeySecret,
        stsToken: securityToken,
        bucket: 'imaginepro-test' // 一般通过环境配置文件获得，这里写死
    })

    // 配置响应头实现通过URL访问时自动下载文件，并设置下载后的文件名。
    const response = {
        'content-disposition': 'attachment; filename=' + encodeURIComponent(filename)
    }

    // 填写Object完整路径。Object完整路径中不能包含Bucket名称。
    const url = client.signatureUrl(fileUrl, { response })

    downloadFile(url)
    }
                `;
